package top.mcwebsite.compose.markdown

import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.*
import org.jetbrains.compose.ui.tooling.preview.Preview
import top.mcwebsite.markdown.Markdown


const val MARKDOWN_TEXT = """
# 标题1

## 标题2

### 标题3

#### 标题4

##### 标题5

###### 标题6

SETEXT_1
=====

SETEXT_2
-----

特殊转义：(目前不支持，see: https://github.com/JetBrains/markdown/issues/46)

\\ \` \* \_ \{ \} \[ \] \( \) \# \+ \- \. \! 

> "代码即诗歌。" — *有人说*

-----

1. 项目简介：这是一个由 Compose 开发的 Markdown 预览器。
2. 功能特性
    1. 支持 Compose Multiplatform
    2. 可以设置自定义的主题
        - 默认的主题为 Github 风格
        - 可以支持自定义主题
    3. 可以自定义 Markdown 渲染
3. 安装使用：暂无，还在开发中

项目信息：

- **作者**: @mengchents
- **日期**: 2024-10-19
- **语言**: 
    1. `Kotlin`
    2. `Markdown`
- **框架**: _Compose_
____

待办事项：

- [ ] 支持自定义主题
- [ ] 支持自定义 Markdown 渲染
- [x] 支持自定义 Markdown 解析器
- [ ] 支持自定义 Markdown 样式
- [ ] 支持自定义 Markdown 样式表
- [ ] 支持自定义 Markdown 解析器
- [ ] 支持自定义 Markdown 渲染器
- [ ] 支持自定义 Markdown 解析器与渲染器
- [ ] 支持自定义 Markdown 解析器与渲染器与样式表

*****


加粗 **加粗**，斜体 *斜体* ~~删除线~~

嵌套:

*这是 **加粗** 的斜体文本*

**这是 *斜体* 的加粗文本**

这是 `java`，这是 `Golang`，这是 `Rust`，No 这是 `Markdown`。

这是我们项目的地址:  [**compose-markdown**](https://gitee.com/mengchents/compose-markdown "使用 Compose 渲染 Markdown")。

项目的地址是: https://gitee.com/mengchents/compose-markdown 。

项目的地址是: <https://gitee.com/mengchents/compose-markdown>。

这是我的邮箱: <randonname.login@outlook.com> 。

目前支持的语言有：

- Kotlin
- Java
- Go
- rust
- dart
- cpp
- c
- C#
- python
- coffeescript
- javascript
- ruby
- perl
- shell
- swift
- typescript
- php

下面是一些例子：

```kotlin
fun main() {
    println("Hello World!")
}
```

```java
public static void main(String[] args) {
    System.out.println("Hello World!");
}
```

```go
package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}
```

```rust
fn main() {
    println!("Hello World!");
}
```

```dart
void main() {
  print('Hello World!');
}
```

```cpp
#include <iostream>

int main() {
    std::cout << "Hello World!" << std::endl;
    return 0;
}
```

### 表格

| Item      |    Value | Qty  |
| :-------- | --------:| :--: |
| Computer  |    1600 1600  1600 1600 1600  1600  1600 1600  1600 1600 1600  1600 1600 1600  1600  1600 1600  1600  1600 1600  1600 1600 1600  1600  1600 1600  1600 1600 1600  1600 1600 1600  1600  1600 1600  1600     |  5   |
| Phone     |   12 USD |  12  |
| Pipe      |    1 USD | 234  |

测试左右括号 [测试]

滚到到文档顶部: [去顶部](#标题5)。

## Short Reference Link

这是百度: [百度][1]。

这是Google: [Google]。

这不是百度: [百度][2]。

这不是 Google: [Goo gle]。


[1]: https://www.baidu.com "百度"
[Google]: https://www.google.com

## 图片

![风景](https://tse3-mm.cn.bing.net/th/id/OIP-C.ZkoPhpKfJwsvGmpm8RsragHaFp?w=226&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7) ![风景](https://tse3-mm.cn.bing.net/th/id/OIP-C.ZkoPhpKfJwsvGmpm8RsragHaFp?w=826&h=280&c=7&r=0&o=5&dpr=1.5&pid=1.7) 漂亮的风景
"""

@Composable
@Preview
fun App() {
    MaterialTheme {
        SelectionContainer {
            Markdown(MARKDOWN_TEXT.trimIndent())
        }
    }
}
